package com.broada.apm.indicator.api.impl;

import org.springframework.beans.factory.annotation.Autowired;

import com.broada.apm.indicator.api.AlertService;
import com.broada.apm.indicator.api.AnalyzerService;
import com.broada.apm.indicator.api.ApmClient;
import com.broada.apm.indicator.api.AppDomainService;
import com.broada.apm.indicator.api.ApplicationService;
import com.broada.apm.indicator.api.ConfigItemService;
import com.broada.apm.indicator.api.DimensionService;
import com.broada.apm.indicator.api.ErrorRecordService;
import com.broada.apm.indicator.api.IPLocationService;
import com.broada.apm.indicator.api.IndicatorItemService;
import com.broada.apm.indicator.api.L7ModuleService;
import com.broada.apm.indicator.api.L7moduleMenuService;
import com.broada.apm.indicator.api.LuaSettingsService;
import com.broada.apm.indicator.api.PerformancePersistanceService;
import com.broada.apm.indicator.api.PerformanceQueryService;
import com.broada.apm.indicator.api.PersistanceService;
import com.broada.apm.indicator.api.RelationService;
import com.broada.apm.indicator.api.ResourceService;
import com.broada.apm.indicator.api.ServiceService;
import com.broada.apm.indicator.api.TransactionRecordService;
import com.broada.apm.indicator.api.TransactionService;
import com.broada.apm.indicator.api.UserService;

public class SimpleApmClient implements ApmClient {
	@Autowired
	private PersistanceService persistanceService;
	@Autowired
	private PerformanceQueryService performanceQueryService;
	@Autowired
	private PerformancePersistanceService performancePersistanceService;
	@Autowired
	private ApplicationService applicationService;
	@Autowired
	private ServiceService serviceService;
	@Autowired
	private RelationService relationService;
	@Autowired
	private ConfigItemService configItemService;
	@Autowired
	private ResourceService resourceService;
	@Autowired
	private AlertService alertService;
	@Autowired
	private IPLocationService ipLocationService;
	@Autowired
	private L7ModuleService l7ModuleService;
	@Autowired
	private L7moduleMenuService l7moduleMenuService;
	@Autowired
	private UserService userService;
	@Autowired
	private DimensionService dimensionService;
	@Autowired
	private IndicatorItemService indicatorItemService;
	@Autowired
	private AppDomainService appDomainService;
	@Autowired
	private TransactionService transactionService;
	@Autowired
	private TransactionRecordService transactionRecordService;
	@Autowired
	private AnalyzerService analyzerService;
	@Autowired
	private LuaSettingsService luaSettingsService;
	
	@Autowired
    private ErrorRecordService errorRecordService;
	
	@Override
	public PersistanceService getPersistanceService() {
		return persistanceService;
	}

	@Override
	public PerformanceQueryService getPerformanceQueryService() {
		return performanceQueryService;
	}

	@Override
	public PerformancePersistanceService getPerformancePersistanceService() {
		return performancePersistanceService;
	}

	public void setPerformancePersistanceService(PerformancePersistanceService performancePersistanceService) {
		this.performancePersistanceService = performancePersistanceService;
	}

	public void setPersistanceService(PersistanceService persistanceService) {
		this.persistanceService = persistanceService;
	}

	public void setPerformanceQueryService(PerformanceQueryService performanceQueryService) {
		this.performanceQueryService = performanceQueryService;
	}

	@Override
	public ApplicationService getApplicationService() {
		return applicationService;
	}

	public void setApplicationService(ApplicationService applicationService) {
		this.applicationService = applicationService;
	}

	@Override
	public ServiceService getServiceService() {
		return serviceService;
	}

	public void setServiceService(ServiceService serviceService) {
		this.serviceService = serviceService;
	}

	@Override
	public RelationService getRelationService() {
		return relationService;
	}

	public void setRelationService(RelationService relationService) {
		this.relationService = relationService;
	}

	@Override
	public ConfigItemService getConfigItemService() {
		return configItemService;
	}

	public void setConfigItemService(ConfigItemService configItemService) {
		this.configItemService = configItemService;
	}

	@Override
	public ResourceService getResourceService() {
		return resourceService;
	}

	public void setResourceService(ResourceService resourceService) {
		this.resourceService = resourceService;
	}

	@Override
	public AlertService getAlertService() {
		return alertService;
	}

	public void setAlertService(AlertService alertService) {
		this.alertService = alertService;
	}

	@Override
	public IPLocationService getIpLocationService() {
		return ipLocationService;
	}

	public void setIpLocationService(IPLocationService ipLocationService) {
		this.ipLocationService = ipLocationService;
	}

	@Override
	public L7ModuleService getL7ModuleService() {
		return l7ModuleService;
	}

	public void setL7ModuleService(L7ModuleService l7ModuleService) {
		this.l7ModuleService = l7ModuleService;
	}

	public L7moduleMenuService getL7moduleMenuService() {
		return l7moduleMenuService;
	}

	public void setL7moduleMenuService(L7moduleMenuService l7moduleMenuService) {
		this.l7moduleMenuService = l7moduleMenuService;
	}

	@Override
	public UserService getUserService() {
		return userService;
	}

	public void setUserService(UserService userService) {
		this.userService = userService;
	}

	@Override
	public DimensionService getDimensionService() {
		return dimensionService;
	}

	public void setDimensionService(DimensionService dimensionService) {
		this.dimensionService = dimensionService;
	}

	public IndicatorItemService getIndicatorItemService() {
		return indicatorItemService;
	}

	public void setIndicatorItemService(IndicatorItemService indicatorItemService) {
		this.indicatorItemService = indicatorItemService;
	}

	public AppDomainService getAppDomainService() {
		return appDomainService;
	}

	public void setAppDomainService(AppDomainService appDomainService) {
		this.appDomainService = appDomainService;
	}

    @Override
    public ErrorRecordService getErrorRecordService() {
        return errorRecordService;
    }

	public TransactionService getTransactionService() {
		return transactionService;
	}

	public void setTransactionService(TransactionService transactionService) {
		this.transactionService = transactionService;
	}

	public void setErrorRecordService(ErrorRecordService errorRecordService) {
		this.errorRecordService = errorRecordService;
	}

	public TransactionRecordService getTransactionRecordService() {
		return transactionRecordService;
	}

	public void setTransactionRecordService(
			TransactionRecordService transactionRecordService) {
		this.transactionRecordService = transactionRecordService;
	}
	
	@Override
	public AnalyzerService getAnalyzerService() {
		return analyzerService;
	}

	public void setAnalyzerService(AnalyzerService analyzerService) {
		this.analyzerService = analyzerService;
	}
	
	@Override
	public LuaSettingsService getLuaSettingsService() {
		return luaSettingsService;
	}
	public void setLuaSettingsService(LuaSettingsService luaSettingsService) {
		this.luaSettingsService = luaSettingsService;
	}
}
